package com.ruoyi.base.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 湖库信息对象 BASE_LAKE
 * 
 * @author ruoyi
 * @date 2025-07-27
 */
public class BaseLake extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**   */
    private String id;

    /** 湖库名称 */
    @Excel(name = "湖库名称")
    private String lakename;

    /** 湖库别名 */
    @Excel(name = "湖库别名")
    private String lakealias;

    /** 湖库编码 */
    @Excel(name = "湖库编码")
    private String lakecode;

    /**  所跨行政区域 */
    @Excel(name = " 所跨行政区域")
    private String region;

    /** 隶属行政区划名称 */
    @Excel(name = "隶属行政区划名称")
    private String regionname;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 一级水系归属 */
    @Excel(name = "一级水系归属")
    private String firstriversystem;

    /** 一级水系归属编码 */
    @Excel(name = "一级水系归属编码")
    private String firstriversystemcode;

    /** 二级水系归属 */
    @Excel(name = "二级水系归属")
    private String secondriversystem;

    /** 二级水系归属编码 */
    @Excel(name = "二级水系归属编码")
    private String secondriversystemcode;

    /** 三级水系归属 */
    @Excel(name = "三级水系归属")
    private String thirdriversystem;

    /** 三级水系归属编码 */
    @Excel(name = "三级水系归属编码")
    private String thirdriversystemcode;

    /** 上下游编码 */
    @Excel(name = "上下游编码")
    private String rivertsort;

    /** 湖岸线长度（KM） */
    @Excel(name = "湖岸线长度", readConverterExp = "K=M")
    private String lakelength;

    /** 流域面积（平方公里） */
    @Excel(name = "流域面积", readConverterExp = "平=方公里")
    private String basinarea;

    /** 湖泊面积（平方公里） */
    @Excel(name = "湖泊面积", readConverterExp = "平=方公里")
    private String lakearea;

    /** 平均水深（M） */
    @Excel(name = "平均水深", readConverterExp = "M=")
    private String waterdepth;

    /** 径流量（立方米） */
    @Excel(name = "径流量", readConverterExp = "立=方米")
    private String runoffcapacity;

    /** 蓄水量（立方米） */
    @Excel(name = "蓄水量", readConverterExp = "立=方米")
    private String watercapacity;

    /** 覆盖人口（万人） */
    @Excel(name = "覆盖人口", readConverterExp = "万=人")
    private String populationcovered;

    /** 简介 */
    @Excel(name = "简介")
    private String introduction;

    /** 湖库图片路径 */
    @Excel(name = "湖库图片路径")
    private String imagesurl;

    /**  岸线开发利用长度（km） */
    @Excel(name = " 岸线开发利用长度", readConverterExp = "k=m")
    private String uselength;

    /**  是否跨行政区 */
    @Excel(name = " 是否跨行政区")
    private String isspanned;

    /**  湖泊限制排污总量（万m3/年） */
    @Excel(name = " 湖泊限制排污总量", readConverterExp = "万=m3/年")
    private String limitnum;

    /**  库容（万m3) */
    @Excel(name = " 库容", readConverterExp = " 库容（万m3)")
    private String capacity;

    /**  管理单位 */
    @Excel(name = " 管理单位")
    private String managerunit;

    /** 湖库范围 */
    @Excel(name = "湖库范围")
    private String box;

    /** 湖库范围 */
    @Excel(name = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updatetime;

    /**  状态 1使用 0禁用 */
    @Excel(name = " 状态 1使用 0禁用")
    private String lifecycle;

    /** 湖库等级
水库等级的划分主要依据库容大小进行分类，具体如下：
大型水库：总库容在1亿立方米及以上。
中型水库：总库容在1000万立方米及以上，1亿立方米以下。
小型水库：
小（一）型水库：总库容在100万立方米及以上，1000万立方米以下。
小（二）型水库：总库容在10万立方米及以上，100万立方米以下。 */
    @Excel(name = "湖库等级水库等级的划分主要依据库容大小进行分类，具体如下：大型水库：总库容在1亿立方米及以上。中型水库：总库容在1000万立方米及以上，1亿立方米以下。小型水库：小", readConverterExp = "一=")
    private String lakegradecode;

    @Excel(name = "流域id")
    private String basinid;
    /** 湖库等级
水库等级的划分主要依据库容大小进行分类，具体如下：
0 大型水库：总库容在1亿立方米及以上。
1 中型水库：总库容在1000万立方米及以上，1亿立方米以下。
2 小型水库：
小（一）型水库：总库容在100万立方米及以上，1000万立方米以下。
小（二）型水库：总库容在10万立方米及以上，100万立方米以下。 */
    @Excel(name = "湖库等级水库等级的划分主要依据库容大小进行分类，具体如下：0 大型水库：总库容在1亿立方米及以上。1 中型水库：总库容在1000万立方米及以上，1亿立方米以下。2 小型水库：小", readConverterExp = "一=")
    private String lakegradename;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getLakename() {
        return lakename;
    }

    public void setLakename(String lakename) {
        this.lakename = lakename;
    }

    public String getLakealias() {
        return lakealias;
    }

    public void setLakealias(String lakealias) {
        this.lakealias = lakealias;
    }

    public String getLakecode() {
        return lakecode;
    }

    public void setLakecode(String lakecode) {
        this.lakecode = lakecode;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getRegionname() {
        return regionname;
    }

    public void setRegionname(String regionname) {
        this.regionname = regionname;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getFirstriversystem() {
        return firstriversystem;
    }

    public void setFirstriversystem(String firstriversystem) {
        this.firstriversystem = firstriversystem;
    }

    public String getFirstriversystemcode() {
        return firstriversystemcode;
    }

    public void setFirstriversystemcode(String firstriversystemcode) {
        this.firstriversystemcode = firstriversystemcode;
    }

    public String getSecondriversystem() {
        return secondriversystem;
    }

    public void setSecondriversystem(String secondriversystem) {
        this.secondriversystem = secondriversystem;
    }

    public String getSecondriversystemcode() {
        return secondriversystemcode;
    }

    public void setSecondriversystemcode(String secondriversystemcode) {
        this.secondriversystemcode = secondriversystemcode;
    }

    public String getThirdriversystem() {
        return thirdriversystem;
    }

    public void setThirdriversystem(String thirdriversystem) {
        this.thirdriversystem = thirdriversystem;
    }

    public String getThirdriversystemcode() {
        return thirdriversystemcode;
    }

    public void setThirdriversystemcode(String thirdriversystemcode) {
        this.thirdriversystemcode = thirdriversystemcode;
    }

    public String getRivertsort() {
        return rivertsort;
    }

    public void setRivertsort(String rivertsort) {
        this.rivertsort = rivertsort;
    }

    public String getLakelength() {
        return lakelength;
    }

    public void setLakelength(String lakelength) {
        this.lakelength = lakelength;
    }

    public String getBasinarea() {
        return basinarea;
    }

    public void setBasinarea(String basinarea) {
        this.basinarea = basinarea;
    }

    public String getLakearea() {
        return lakearea;
    }

    public void setLakearea(String lakearea) {
        this.lakearea = lakearea;
    }

    public String getWaterdepth() {
        return waterdepth;
    }

    public void setWaterdepth(String waterdepth) {
        this.waterdepth = waterdepth;
    }

    public String getRunoffcapacity() {
        return runoffcapacity;
    }

    public void setRunoffcapacity(String runoffcapacity) {
        this.runoffcapacity = runoffcapacity;
    }

    public String getWatercapacity() {
        return watercapacity;
    }

    public void setWatercapacity(String watercapacity) {
        this.watercapacity = watercapacity;
    }

    public String getPopulationcovered() {
        return populationcovered;
    }

    public void setPopulationcovered(String populationcovered) {
        this.populationcovered = populationcovered;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getImagesurl() {
        return imagesurl;
    }

    public void setImagesurl(String imagesurl) {
        this.imagesurl = imagesurl;
    }

    public String getUselength() {
        return uselength;
    }

    public void setUselength(String uselength) {
        this.uselength = uselength;
    }

    public String getIsspanned() {
        return isspanned;
    }

    public void setIsspanned(String isspanned) {
        this.isspanned = isspanned;
    }

    public String getLimitnum() {
        return limitnum;
    }

    public void setLimitnum(String limitnum) {
        this.limitnum = limitnum;
    }

    public String getCapacity() {
        return capacity;
    }

    public void setCapacity(String capacity) {
        this.capacity = capacity;
    }

    public String getManagerunit() {
        return managerunit;
    }

    public void setManagerunit(String managerunit) {
        this.managerunit = managerunit;
    }

    public String getBox() {
        return box;
    }

    public void setBox(String box) {
        this.box = box;
    }

    public Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    public String getLifecycle() {
        return lifecycle;
    }

    public void setLifecycle(String lifecycle) {
        this.lifecycle = lifecycle;
    }

    public String getLakegradecode() {
        return lakegradecode;
    }

    public void setLakegradecode(String lakegradecode) {
        this.lakegradecode = lakegradecode;
    }

    public String getLakegradename() {
        return lakegradename;
    }

    public void setLakegradename(String lakegradename) {
        this.lakegradename = lakegradename;
    }

    public String getBasinid() {
        return basinid;
    }

    public void setBasinid(String basinid) {
        this.basinid = basinid;
    }
}
